#ifndef SHADERBASE_H
#define SHADERBASE_H

#include "Export.h"
#include "IResource.h"
#include "GL/glew.h"

namespace glow {

class SHARED ShaderBase : public IResource
{
    public:

		/**
		 *	Constructor of the ShaderBase
		 *\param type the GLenum type of the ShaderBase (GL_FRAGMENT_SHADER or GL_VERTEX_SHADER)
		 *\param shader ident of the ShaderBase
		 *\param name the name of the shader file (shader.vert or shader.frag)
		 **/
        ShaderBase(GLenum type, GLuint, const char *name);
		
		/**
		 *  Destructeur of the ShaderBase
		 **/
        ~ShaderBase();

		/**
		 *	Get the type of the ShaderBase
		 *\return the type of the ShaderBase
		 **/
        GLenum getType() const;
		
		/**
		 *	Get the ident of the ShaderBase
		 *\return the ident of the ShaderBase
		 **/
        GLuint getGLID() const;

    private:

        GLenum _type;
        GLuint _shader;


};

}

#endif
